#ifndef _ONVIF_TYPE_H
#define _ONVIF_TYPE_H

#define	MAX_PROF_TOKEN	1024
#define	MAX_CONF_TOKEN	1024
#define NET_BUF_LEN	200

typedef struct 
{
	char IP[NET_BUF_LEN];//存储IP信息
	char GateWay[NET_BUF_LEN];//存储网关
	char Dns[NET_BUF_LEN];//本地的DNS信息
	char Mac[NET_BUF_LEN];//mac信息
}Net_Config_Data;

typedef struct
{
	float			Brightness;
	float			Saturation;
	float			Contrast;
	int			BacklightCompensationMode;
	float			Sharpness;
	int			WideDynamicMode;
	int			WhiteBalanceMode;
	float			BackLightLevel;
	float 			CrGain;
	float 			CbGain;
}Imaging_Conf;//GetVideoSources

typedef struct
{
	char                                   Vname[MAX_PROF_TOKEN];               //video source configuration name
	int                                    Vcount;         // count for number of users
	char                                   Vtoken[MAX_CONF_TOKEN];             //video source configuration token
	char                                   Vsourcetoken[MAX_PROF_TOKEN];
	int                                    windowx;             //x cordinate of window
	int                                    windowy;             //y cordinate of window
	int                                    windowwidth;          //width
	int                                    windowheight;        //height
}Add_VideoSource_configuration;//GetVideoSources

unsigned int nprofile;              //number of media profiles  GetProfiles

typedef struct
{
	char                                   VEname[MAX_PROF_TOKEN] ;                 //video encoder name
	char                                   VEtoken[MAX_CONF_TOKEN];                 //video encoder token
	int                                    VEusercount;            //video encoder user count
	float                                  VEquality;              //video encoder quality
	int                                    Vencoder;             //video encoder for jpeg, mpeg, h.264
	int                                    Rwidth;               //resolution width
	int                                    Rheight;                //resolution height
	int                                    frameratelimit;        //frameratelimit
	int                                    encodinginterval;       //encodinginterval
	int                                    bitratelimit;            //bitratelimit
}Add_VideoEncoder_configuration;

typedef struct
{
	char                                  profilename[MAX_PROF_TOKEN];       //name of profile  GetProfiles
	char                                  profiletoken[MAX_CONF_TOKEN];      //token of profile
	Add_VideoSource_configuration		AVSC;
	Add_VideoEncoder_configuration		AVEC;//GetProfiles GetVideoEncoderConfigurations
	Net_Config_Data		Net_Data;
	Imaging_Conf	Imaging_Conf_Data;
}Onvif_Config_Data;

#endif